OS - 목차

image-20231020162344029.png|18 Newbie

  1. 운영체제의 역사와 기술발전

베어메탈로 시작

  1. 베어메탈 부터(1) - BIOS 부팅 과정과 Boot Loader작성
  2. 베어메탈 부터(2) - 나만의 작은 Boot Loader 만들어보기

마우스, 키보드가 어떻게 움직이는지 궁금한 사람은 - 이벤트, 인터럽트, 트랩

  1. 인터럽트, 트랩, 예외.. 결론은 이벤트(1) - 운영체제 이벤트

image-20231020162540750.png|18 Bittervet

아키텍쳐를 이해하기

x86과 운영체제

메모리(RAM)을 관리하는 법

메모리 관리의 역사와 CPU의 발전

  1. 운영체제 메모리(1) - 페이징, 세그멘테이션 뭐가 다르고 왜 나온겨

세그멘테이션

페이징

MIPS 살펴보기

모드 모드 모드

멀티 테스킹과 스케줄링, 그리고 실행 컨텍스트

동기화

  1. 운영체제 동기화(1) - 스핀락, 세마포어, 뮤텍스

기억장치(HDD, SSD)에 영화 저장하기 - 드라이버

파일을 체계적으로 저장하기 - 파일 시스템

UNIX 시스템에서의 '파일'이란?

운영체제가 제공하는 추상화의 정점 시스템콜(거기에 표준을 겯들인)

시스템 콜(1) - 운영체제 추상화의 꽃


image-20231022164952455.png|18 Hacker

ext2 살펴보고 만들어보기

그래서 뭐 함? - DOOM 돌려보기

모니터 출력은?

실행파일(ELF)는?

프로그램의 실행은?

파일 저장은?


기타

채신 동기화 기법

  1. 동기화의 본질 - SW와 HW 관점에서
    1. 추가자료 - 論文を読もう - Memory Barriers a Hardware View for Software Hackers
  2. 최신 동기화 기법
  3. x86 메모리 모델

채신 메모리 관리 기법

리눅스의 메모리 관리

가상화란?

  1. 가상화, QEMU와 KVM코드를 중심으로 보기(QEMU 만들어 보기)

DMA

  1. CPU 입출력 부터 DMA 까지(1) - Intel 8086과 Minix 그리고 PCI로 알아보자
  2. CPU 입출력 부터 DMA 까지(2) - DMA와 PCI와 BUS
  3. CPU 입출력 부터 DMA 까지(3) - DMA 구현하기